Traditionally, persons working on a common project may share a physical location (e.g., cubicle environment, conference room, etc.) in which the persons can easily communicate face-to-face with each other. In such a traditional environment, the persons are generally capable of communicating with each other by the mere fact that they are in a common physical location. For instance, persons who are in a common conference room can easily talk with each other.
Today, users often conduct activities in virtual spaces. For instance, many activities are conducted using computer-executable programs (or “applications”), websites, etc. As an example, software developers commonly use computer-executable software development applications, such as DREAMWEAVER®, available from Adobe Systems Incorporated, and FRONTPAGE®, available from Microsoft Corporation, to develop code for software programs. Similarly, users often use presentation software, such as Microsoft's POWERPOINT®, to generate presentations, users often use animation-editing software, such as Adobe Systems Incorporated's FLASH® and AFTER EFFECTS® authoring tools, to create and/or edit animation (e.g., videos, etc.), and users often use image-editing software, such as Adobe Systems Incorporated's PHOTOSHOP®, to create and/or edit images. These and/or other activities may be conducted via desktop applications executing on a user's device (e.g., personal computer (PC), workstation, or a mobile computing device, such as a laptop, personal digital assistant (PDA), mobile telephone, etc.) or they may be conducted via accessing a server device over a communication network. For instance, many activities are conducted today through use of a browser on a user's device accessing, via the Internet, a website (hosted by a web server). As examples, such activities as developing software, participating in an on-line auction (e.g., www.ebay.com), purchasing airline tickets, performing banking, stock trading, and/or other financial transactions, sharing information with family members (www.myfamily.com), et cetera can be performed via the web. As can be seen, not only are work-related activities often conducted in a virtual space, but entertainment activities (e.g., gaming activities, etc.), personal interest activities (e.g., hobbies, etc.), et cetera may be conducted in a virtual space (e.g., using a desktop application, website, or other type of computer-executable software application that provides functionality for performing the desired activities).
Further, the various users who work in a particular virtual space may be geographically distributed. For instance, computer programmers who work on coding a particular software program may be geographically distributed. The programmers may all use a common software development application, and they may often be desirous of communicating with each other (e.g., to exchange ideas, ask questions, exchange portions of the code that they have each authored, etc.). Thus, in many instances users who are accessing common virtual spaces (e.g., accessing a common desktop application, such as software code development application, accessing a common website or portion of a website, etc.) may thus be desirous of communicating with each other.
Recently Voice Over Internet Protocol (VoIP) phone service has become popular with consumers, with more people and businesses choosing to migrate to it and away from traditional Plain Old Telephone Service (POTS) every year. VoIP service is a telephone service that uses the Internet to make telephone calls, usually for a fixed fee and a very low per-minute charge, even for some international calls. VoIP systems can be either hardware-based, with special telephone sets or adapters for regular phones in communication with a network router, or software-based, thereby allowing a user to employ a personal computer as a telephone.
Software-based VoIP phones are sometimes referred to as “softphones,” and they vary from service to service. Attention has recently been focused on providing softphone functionality in web browser plug-ins. In another example, a stand-alone program is used to support VoIP communication. This can make softphone functionality difficult for developers of web pages and Rich Internet Applications (RIAs) to leverage, since a developer who desires to implement phone technology in an application will generally have to rely on the functionality provided by a web browser plug-in or other program with little flexibility for User Interface (UI) concerns or application-specific concerns. Further, since there are different browser plug-ins available, not every application will work with every browser. There is no solution currently on the market that gives developers control over real-time communication functionality and can be nearly universally useable.
In addition, voice communication has traditionally been initiated by users through interacting with a voice-centric application. That is, a user desiring a voice communication with another user traditionally invokes a softphone application (or uses a hand-set telephone, mobile telephone, etc.), and interacts with a user interface (e.g., a touchpad) to initiate a call to the other user.
As mentioned above, users who access common virtual spaces are often desirous of communicating with each other. However, unlike the traditional environment in which users working on a common project are located at a common physical location (e.g., in a common conference room, cubicle environment, etc.) in which users can readily communicate face-to-face with each other, no such ready communication exists in virtual spaces. For instance, in a traditional environment, those persons who walk into a common conference room are readily able to speak to each other without any further action being required by the persons, but users who access a same virtual space (e.g., a common website, common desktop application, etc.) are not afforded such ready communication with each other. While the users of a given virtual space may be communicatively connected in some instances, additional burdens have been placed on the users in order to initiate such communication capability in each instance. For example, at least one of the users must somehow recognize the other users who are in the virtual space, and such user must then take some action to initiate a call to the other users (e.g., using a softphone or other voice-centric application). Thus, voice communication between users has traditionally been thought of as being separate and distinct from any virtual spaces (or environments) in which the users may be interacting.
In some cases, conferences (e.g., telephony and/or videoconferences) may be set-up by a user (e.g., a “conference host”), and other users may perform some login action in order for the various users to be conferenced together. However, setting up and logging into such a conference are additional burdens required for users of a common virtual space to be communicatively coupled together. That is, the users are not able to talk with each other by mere virtue of being in a common virtual space (as are persons who are in a common physical location, such as in a common conference room), but are instead required to perform additional actions of setting up a conference, logging into the conference, and are typically required to use some communication-centric application (e.g., softphone, etc.) to connect to and participate in the conference. Further, such pre-arranged conference is not ad-hoc, but is instead limited to enabling communication between users who login to the conference during the conference's scheduled time. Users who are present in a virtual space at any arbitrary time are not able to communicate with each other through such a traditional conferencing scheme in a manner similar to users who are present in a common physical location (e.g., physical conference room) at any arbitrary time can.
Certain websites are beginning to include a link that when activated by a user establishes a voice connection between the user and a predefined endpoint, such as a call center. For instance, a company's website may offer a hyperlink to “connect to an agent,” which when clicked by a client user who is viewing the website establishes a voice communication (e.g., VOIP call) between the user and a predefined endpoint (e.g., an agent at the company's call center). However, this is limited to enabling users to connect to a predefined endpoint, rather than supporting voice communication between any arbitrary users who may be accessing a common virtual space. Further, this solution of the prior art is restricted to application in a web environment (e.g., to users who are accessing a particular website that offers the hyperlink on it), and has not afforded voice communication between users of other types of virtual spaces, such as users of desktop applications, etc.
In view of the above, a desire exists for an improved system and method for enabling communication, particularly voice communication, between users of common virtual spaces.